import {handleError} from "vue";
import {handleSuccess} from "@/api/index.js";
import http from '@/axios'


export const MenuApi = {
    /**
     * 获取菜单列表
     * @param params
     * @returns {Promise<* | void>}
     */
    list(params) {
        return http.get('/api/sysMenu/list', {params})
        .then(res => handleSuccess(res, '菜单列表获取成功'))
        .catch(error => handleError(error, '菜单列表获取失败'))
    },
    /**
     * 创建菜单
     * @param data
     * @returns {Promise<* | void>}
     */
    create(data) {
        return http.post('/api/sysMenu/create', data)
        .then(res => handleSuccess(res, '菜单创建成功'))
        .catch(error => handleError(error, '菜单创建失败'))
    },
    /**
     * 删除菜单
     * @param id
     * @returns {Promise<* | void>}
     */
    delete(id) {
        return http.delete(`/api/sysMenu/remove/${id}`)
        .then(res => handleSuccess(res, '菜单删除成功'))
        .catch(error => handleError(error, '菜单删除失败'))
    },
    /**
     * (编辑)更新菜单
     * @param data
     * @returns {Promise<* | void>}
     */
    update(data) {
        return http.put('/api/sysMenu/update', data)
        .then(res => handleSuccess(res, '菜单更新成功'))
        .catch(error => handleError(error, '菜单更新失败'))
    }


}